﻿
using GWB.Application.System.UserManage.Dtos;
using GWB.Core;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace GWB.Application.System.UserManage.UserService
{
    /// <summary>
    /// 用户管理
    /// </summary>
   public interface IUserService
   {
       /// <summary>
       /// 新增
       /// </summary>
       /// <param name="inputDto"></param>
       /// <returns></returns>
       Task<Result<UserOutDto>> Add(UserCreateOrUpdateInputDto inputDto);

       /// <summary>
       /// 修改
       /// </summary>
       /// <param name="inputDto"></param>
       /// <returns></returns>
       Task<bool> Update(UserCreateOrUpdateInputDto inputDto);



       /// <summary>
       /// 删除菜单
       /// </summary>
       /// <param name="ids"></param>
       /// <returns></returns>
       Task<bool> Delete(List<long> ids);


       /// <summary>
       /// 查询
       /// </summary>
       /// <param name="inputDto"></param>
       /// <returns></returns>
       Task<PageResult<UserOutDto>> Page(UserPageInputDto inputDto);

       /// <summary>
       /// 用户编辑数据权限
       /// </summary>
       /// <param name="inputDto"></param>
       /// <returns></returns>
       Task<bool> EditUserDataAuth(List<UserDataAuthDto> inputDto);


       /// <summary>
       /// 获取用户数据权限
       /// </summary>
       /// <param name="userId"></param>
       /// <returns></returns>
       Task<List<UserDataAuthDto>> GetUserDataAuth(long userId);

   }
}
